// common/http.interceptor.js

// 这里的Vue为Vue对象(非创建出来的实例)，vm为main.js中“Vue.use(httpInterceptor, app)”这一句的第二个参数，
// 为一个Vue的实例，也即每个页面的"this"
// 如果需要了解这个install方法是什么，请移步：https://uviewui.com/components/vueUse.html
const install = (Vue, vm) => {
	// 此为自定义配置参数，具体参数见上方说明
	Vue.prototype.$u.http.setConfig({
        // 基础地址
		baseUrl: 'https://api-hmugo-web.itheima.net/api/public/v1',
		loadingText: '努力加载中~',
		loadingTime: 800,
		// 设置自定义头部content-type
		// header: {
		// 	'content-type': 'xxx'
		// }
		// ......
	});
    // 响应拦截，如配置，每次请求结束都会执行本方法
  Vue.prototype.$u.http.interceptor.response = (res) => {
    // 判断响应是否 成功
    if (res.meta && res.meta.status === 200) {
      return res.message;
    } else {
      // 失败
      return res.meta;
    }
  },
	//设置请求拦截 
  Vue.prototype.$u.http.interceptor.request = (config) => {
    if (config.url.includes("/my/")) {
      config.header.Authorization = vm.$store.state.user.token;
    }
    return config;
  }

}

export default {
	install
}